﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
//using TOTTO.FINGERPRINT.SERVICIOS.Utilidades.Complementos;
using TOTTO.FINGERPRINT.SERVICIOS.Servicios;

namespace TOTTO.FINGERPRINT.SERVICIOS
{
    [ServiceContract]
    public interface IFingerPrintService
    {
        [OperationContract]
        clDatosSesionSrv mConsultarFechaExpSesion(clDatosSesionSrv paSesionSrv);

        [OperationContract]
        clSesion mIniciaSesion(short paEmpresa, string paCedula, byte[] paHuella);

        [OperationContract]
        bool mCierraSesion(clSesion paVer);

        [OperationContract]
        List<TFNT_EMPRESAS> mConsultarEmpresas();

        [OperationContract]
        TFNT_EMPRESAS mConsultarEmpresa(short paEmpresa);

        [OperationContract]
        List<TFNT_MODULOS> mSubNodosDeNodoPadre(clDatosSesionSrv paSesionSrv, Guid paPadre);

        [OperationContract]
        List<TFNT_PERFILES> mObtienePerfiles(clDatosSesionSrv paSesionSrv);

        [OperationContract]
        List<TFNT_CARGOS> mObtieneCargos(clDatosSesionSrv paSesionSrv);

        [OperationContract]
        bool mGrabaPermiso(clDatosSesionSrv paSesionSrv, Guid paPerfil, Guid PaModulo);

        [OperationContract]
        List<TFNT_MODULOS> mObtenerModulosXPerfil(clDatosSesionSrv paSesionSrv, Guid paPerfil);

        [OperationContract]
        bool mGrabaPerfil(clDatosSesionSrv paSesionSrv, TFNT_PERFILES paPerfil);

        [OperationContract]
        clColaboradorInfo mConsultaColaborador(clDatosSesionSrv paSesionSrv, string paCedula);

        [OperationContract]
        bool mGrabaColaborador(clDatosSesionSrv paSesionSrv, TFNT_COLABORADORES paColaborador);

        [OperationContract]
        int mGrabaHuella(clDatosSesionSrv paSesionSrv, TFNT_HUELLAS paHuella);

        [OperationContract]
        int mBorraHuella(clDatosSesionSrv paSesionSrv, TFNT_HUELLAS paHuellas);

        [OperationContract]
        clColaboradorInfo mMarcacion(short paEmpresa, string paCedula, byte[] paHuella, string paCentroCosto, int paDataDv, byte[] paDataVer);

        [OperationContract]
        clColaboradorInfo mMarcacionTH(clDatosSesionSrv paSesionSrv, int paDataDv, byte[] paDataVer);

        [OperationContract]
        bool mVerificarMaquina(short paEmpresa, int paDataDv, byte[] paDataVer);

        [OperationContract]
        TFNT_CENTROSDECOSTO mObtieneCC(short paEmpresa, string paCC);

        [OperationContract]
        bool mRelacionaDispositivos(clDatosSesionSrv paSesionSrv, int paDv, byte[] paVerificador, string paCC);

        [OperationContract]
        bool mGrabaTicket(clDatosSesionSrv paSesionSrv, string paCedula);

        [OperationContract]
        bool mVerdadero(TFNT_CARGOS paCar);
    }
}
